﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using PdfLucene.src;

namespace PdfLucene
{
    public partial class UCPopWindow : UserControl
    {
        PdfSearchResult pdfFile;
        public PdfSearchResult PdfFile
        { 
            get
            {
                return pdfFile;
            }
            set
            {
                pdfFile = value;
            }
        }

        public UCPopWindow()
        {
            InitializeComponent();
        }
        public void LoadFile()
        {
            this.lblAbstract.Text = (pdfFile==null)?"No se cargó correctamente el archivo" : pdfFile.Abstract;
            this.txtNote.Text = (pdfFile == null) ? "No se cargó correctamente el archivo" : pdfFile.Note;

        }
        private void btnSaveNote_Click(object sender, EventArgs e)
        {
            this.DeleteDocument();
            this.SaveDocument();
        }
        private void SaveDocument()
        {
            PDFFile fileToSave = this.pdfFile;             
            LuceneIndexer luceneIndexer = new LuceneIndexer();
            try
            {
                luceneIndexer.ContinueIndexFile();
                fileToSave.Note = txtNote.Text.Trim();
                fileToSave.ModifiedTime = Lucene.Net.Documents.DateTools.TimeToString(DateTime.Parse(fileToSave.ModifiedTime).ToFileTime(), Lucene.Net.Documents.DateTools.Resolution.MINUTE);
                luceneIndexer.IndexDocument(fileToSave);
                MessageBox.Show("EXITO: El archivo '" + fileToSave.FileName + "' ha sido agregado al indice", "EXITO");

            }
            catch (Exception ex)
            {
                MessageBox.Show("ERROR: No se pudo Agregar el archivo pdf al indice", "ERROR");
            }
            finally
            {
                luceneIndexer.CloseIndex();
            }
        }
        private void DeleteDocument()
        {
            LuceneIndexer.DeleteDocument(this.pdfFile.IndexId);
        }
    }
}
